package com.coderly.onlinegallerysharingplatform.common.oss.config;


import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
import com.qcloud.cos.auth.COSCredentials;
import com.qcloud.cos.region.Region;
import lombok.Data;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.annotation.Resource;

/**
 * 腾讯COS配置
 */
@Configuration
@Data
public class TencentOSSClientConfig {

    @Resource
    private TencentOSSProperties tencentOSSProperties;

    @Bean
    public COSClient cosClient() {
        // 初始化用户身份信息(secretId, secretKey)
        COSCredentials cred = new BasicCOSCredentials(tencentOSSProperties.getSecretId(), tencentOSSProperties.getSecretKey());
        // 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
        ClientConfig clientConfig = new ClientConfig(new Region(tencentOSSProperties.getRegion()));
        // 生成cos客户端
        return new COSClient(cred, clientConfig);
    }
}
